<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
  <meta name="generator" content="made with love by dartdoc 0.29.1">
  <meta name="description" content="flutter_form_builder API docs, for the Dart programming language.">
  <title>flutter_form_builder - Dart API docs</title>

  <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:500,400i,400,300|Source+Sans+Pro:400,300,700" rel="stylesheet">
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
  <link rel="stylesheet" href="static-assets/github.css">
  <link rel="stylesheet" href="static-assets/styles.css">
  <link rel="icon" href="static-assets/favicon.png">
  <!-- header placeholder -->
</head>

<body>

<div id="overlay-under-drawer"></div>

<header id="title">
  <button id="sidenav-left-toggle" type="button">&nbsp;</button>
  <ol class="breadcrumbs gt-separated dark hidden-xs">
    <li><a href="https://github.com/danvick/flutter_form_builder">flutter_form_builder package</a></li>
  </ol>
  <div class="self-name">flutter_form_builder</div>
  <form class="search navbar-right" role="search">
    <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
  </form>
</header>

<main>

  <div id="dartdoc-sidebar-left" class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
    <header id="header-search-sidebar" class="hidden-l">
      <form class="search-sidebar" role="search">
        <input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
      </form>
    </header>
    
    <ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
      <li><a href="https://github.com/danvick/flutter_form_builder">flutter_form_builder package</a></li>
    </ol>
    
    <h5 class="hidden-xs"><span class="package-name">flutter_form_builder</span> <span class="package-kind">package</span></h5>
    <ol>
          <li class="section-title">Libraries</li>
          <li><a href="flutter_form_builder/flutter_form_builder-library.html">flutter_form_builder</a></li>
          <li class="section-title">Dart</li>
          <li><a href="dart-ui/dart-ui-library.html">dart:ui</a></li>
          <li class="section-subtitle">Core</li>
            <li class="section-subitem"><a href="dart-async/dart-async-library.html">dart:async</a></li>
            <li class="section-subitem"><a href="dart-collection/dart-collection-library.html">dart:collection</a></li>
            <li class="section-subitem"><a href="dart-convert/dart-convert-library.html">dart:convert</a></li>
            <li class="section-subitem"><a href="dart-core/dart-core-library.html">dart:core</a></li>
            <li class="section-subitem"><a href="dart-developer/dart-developer-library.html">dart:developer</a></li>
            <li class="section-subitem"><a href="dart-math/dart-math-library.html">dart:math</a></li>
            <li class="section-subitem"><a href="dart-typed_data/dart-typed_data-library.html">dart:typed_data</a></li>
          <li class="section-subtitle">VM</li>
            <li class="section-subitem"><a href="dart-ffi/dart-ffi-library.html">dart:ffi</a></li>
            <li class="section-subitem"><a href="dart-io/dart-io-library.html">dart:io</a></li>
            <li class="section-subitem"><a href="dart-isolate/dart-isolate-library.html">dart:isolate</a></li>
          <li class="section-subtitle">Web</li>
            <li class="section-subitem"><a href="dart-html/dart-html-library.html">dart:html</a></li>
            <li class="section-subitem"><a href="dart-js/dart-js-library.html">dart:js</a></li>
            <li class="section-subitem"><a href="dart-js_util/dart-js_util-library.html">dart:js_util</a></li>
    </ol>
  </div>

  <div id="dartdoc-main-content" class="col-xs-12 col-sm-9 col-md-8 main-content">
      <section class="desc markdown">
        <h1 id="flutter-formbuilder---flutter_form_builder">Flutter FormBuilder - flutter_form_builder</h1>
<p>This package helps in creation of Flutter Forms by providing the syntactic sugar for creating a Form Widget and reduce the boilerplate needed to build a form, validate fields, react to changes, and collect the value of the Form.</p>
<h2 id="simple-usage">Simple Usage</h2>
<p>To use this plugin, add <code>flutter_form_builder</code> as a <a href="https://flutter.io/platform-plugins/">dependency in your pubspec.yaml file</a>.</p>
<h3 id="example">Example</h3>
<pre class="language-dart"><code class="language-dart">final GlobalKey&lt;FormBuilderState&gt; _fbKey = GlobalKey&lt;FormBuilderState&gt;();
</code></pre>
<p><strong>Note:</strong> Avoid defining the GlobalKey inside your build method because this will create a new GlobalKey on every build cycle bringing about some erratic behavior.</p>
<p><strong>Note:</strong> If you use FormBuilderDateTimePicker</p>
<pre class="language-dart"><code class="language-dart">import 'package:intl/intl.dart';
</code></pre>
<pre class="language-dart"><code class="language-dart">Column(
  children: &lt;Widget&gt;[
    FormBuilder(
      key: _fbKey,
      initialValue: {
        'date': DateTime.now(),
        'accept_terms': false,
      },
      autovalidate: true,
      child: Column(
        children: &lt;Widget&gt;[
          FormBuilderDateTimePicker(
            attribute: "date",
            inputType: InputType.date,
            format: DateFormat("yyyy-MM-dd"),
            decoration:
                InputDecoration(labelText: "Appointment Time"),
          ),
          FormBuilderSlider(
            attribute: "slider",
            validators: [FormBuilderValidators.min(6)],
            min: 0.0,
            max: 10.0,
            initialValue: 1.0,
            divisions: 20,
            decoration:
                InputDecoration(labelText: "Number of things"),
          ),
          FormBuilderCheckbox(
            attribute: 'accept_terms',
            label: Text(
                "I have read and agree to the terms and conditions"),
            validators: [
              FormBuilderValidators.requiredTrue(
                errorText:
                    "You must accept terms and conditions to continue",
              ),
            ],
          ),
          FormBuilderDropdown(
            attribute: "gender",
            decoration: InputDecoration(labelText: "Gender"),
            // initialValue: 'Male',
            hint: Text('Select Gender'),
            validators: [FormBuilderValidators.required()],
            items: ['Male', 'Female', 'Other']
              .map((gender) =&gt; DropdownMenuItem(
                 value: gender,
                 child: Text("$gender")
            )).toList(),
          ),
          FormBuilderTextField(
            attribute: "age",
            decoration: InputDecoration(labelText: "Age"),
            validators: [
              FormBuilderValidators.numeric(),
              FormBuilderValidators.max(70),
            ],
          ),
          FormBuilderSegmentedControl(
            decoration:
                InputDecoration(labelText: "Movie Rating (Archer)"),
            attribute: "movie_rating",
            options: List.generate(5, (i) =&gt; i + 1)
                .map(
                    (number) =&gt; FormBuilderFieldOption(value: number))
                .toList(),
          ),
          FormBuilderSwitch(
            label: Text('I Accept the tems and conditions'),
            attribute: "accept_terms_switch",
            initialValue: true,
          ),
          FormBuilderTouchSpin(
            decoration: InputDecoration(labelText: "Stepper"),
            attribute: "stepper",
            initialValue: 10,
            step: 1,
          ),
          FormBuilderRate(
            decoration: InputDecoration(labelText: "Rate this form"),
            attribute: "rate",
            iconSize: 32.0,
            initialValue: 1,
            max: 5,
          ),
          FormBuilderCheckboxList(
            decoration:
            InputDecoration(labelText: "The language of my people"),
            attribute: "languages",
            initialValue: ["Dart"],
            options: [
              FormBuilderFieldOption(value: "Dart"),
              FormBuilderFieldOption(value: "Kotlin"),
              FormBuilderFieldOption(value: "Java"),
              FormBuilderFieldOption(value: "Swift"),
              FormBuilderFieldOption(value: "Objective-C"),
            ],
          ),
          FormBuilderChoiceChip(
            attribute: "favorite_ice_cream",
            options: [
              FormBuilderFieldOption(
                child: Text("Vanilla"),
                value: "vanilla"
              ),
              FormBuilderFieldOption(
                child: Text("Chocolate"),
                value: "chocolate"
              ),
              FormBuilderFieldOption(
                child: Text("Strawberry"),
                value: "strawberry"
              ),
              FormBuilderFieldOption(
                child: Text("Peach"),
                value: "peach"
              ),
            ],
          ),
          FormBuilderFilterChip(
              attribute: "pets",
              options: [
                FormBuilderFieldOption(
                  child: Text("Cats"),
                  value: "cats"
                ),
                FormBuilderFieldOption(
                  child: Text("Dogs"),
                  value: "dogs"
                ),
                FormBuilderFieldOption(
                  child: Text("Rodents"),
                  value: "rodents"
                ),
                FormBuilderFieldOption(
                  child: Text("Birds"),
                  value: "birds"
                ),
              ],
          ),
          FormBuilderSignaturePad(
            decoration: InputDecoration(labelText: "Signature"),
            attribute: "signature",
            height: 100,
          ),
        ],
      ),
    ),
    Row(
      children: &lt;Widget&gt;[
        MaterialButton(
          child: Text("Submit"),
          onPressed: () {
            if (_fbKey.currentState.saveAndValidate()) {
              print(_fbKey.currentState.value);
            }
          },
        ),
        MaterialButton(
          child: Text("Reset"),
          onPressed: () {
            _fbKey.currentState.reset();
          },
        ),
      ],
    )
  ],
)
</code></pre>
<h2 id="input-widgets">Input widgets</h2>
<p>The currently supported fields include:</p>
<ul>
<li><code>FormBuilderCheckbox</code> - Single Checkbox field</li>
<li><code>FormBuilderCheckboxList</code> - List of Checkboxes for multiple selection</li>
<li><code>FormBuilderChoiceChip</code> - Creates a chip that acts like a radio button.</li>
<li><code>FormBuilderFilterChip</code> - Creates a chip that acts like a checkbox.</li>
<li><code>FormBuilderChipsInput</code> - Takes a list of <code>Chip</code>s as input and suggests more options on typing</li>
<li><code>FormBuilderColorPicker</code> - For <code>Color</code> input selection</li>
<li><code>FormBuilderDateRangePicker</code> - For selection of a range of dates</li>
<li><code>FormBuilderDateTimePicker</code> - For <code>Date</code>, <code>Time</code> and <code>DateTime</code> input</li>
<li><code>FormBuilderDropdown</code> - Used to select one value from a list as a Dropdown</li>
<li><code>FormBuilderRadio</code> - Used to select one value from a list of Radio Widgets </li>
<li><code>FormBuilderRangeSlider</code> - Used to select a range from a range of values</li>
<li><code>FormBuilderRate</code> - For selection of a numerical value as a rating </li>
<li><code>FormBuilderSegmentedControl</code> - For selection of a value from the <code>CupertinoSegmentedControl</code> as an input</li>
<li><code>FormBuilderSignaturePad</code> - Presents a drawing pad on which user can doodle</li>
<li><code>FormBuilderSlider</code> - For selection of a numerical value on a slider</li>
<li><del><code>FormBuilderStepper</code></del> - Selection of a number by tapping on a plus or minus symbol. Deprecated; replace with <code>FormBuilderTouchSpin</code></li>
<li><code>FormBuilderSwitch</code> - On/Off switch</li>
<li><code>FormBuilderTextField</code> - For text input. Accepts input of single-line text, multi-line text, password,
email, urls etc by using different configurations and validators</li>
<li><code>FormBuilderTouchSpin</code> - Selection of a number by tapping on a plus or minus icon</li>
<li><code>FormBuilderTypeAhead</code> - Auto-completes user input from a list of items</li>
</ul>
<p>In order to create an input field in the form, along with the label, and any applicable validation, there are several attributes that are supported by all types of inputs namely:</p><table><thead><tr><th>Attribute</th><th>Type</th><th>Default</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td><code>attribute</code></td><td><code>String</code></td><td><code>null</code></td><td><code>true</code></td><td>This will form the key in the form value Map</td></tr><tr><td><code>initialValue</code></td><td><code>dynamic</code></td><td><code>null</code></td><td><code>false</code></td><td>The initial value of the input field</td></tr><tr><td><code>readOnly</code></td><td><code>bool</code></td><td><code>false</code></td><td><code>false</code></td><td>Determines whether the field widget will accept user input. This value will be ignored if the <code>readOnly</code> attribute of <code>FormBuilder</code> widget is set to <code>true</code></td></tr><tr><td><code>decoration</code></td><td><code>InputDecoration</code></td><td><code>InputDecoration()</code></td><td><code>false</code></td><td></td></tr><tr><td><code>validators</code></td><td><code>List&lt;FormFieldValidator&gt;</code></td><td><code>[]</code></td><td><code>false</code></td><td>List of <code>FormFieldValidator</code>s that will check the validity of value candidate in the <code>FormField</code></td></tr><tr><td><code>onChanged</code></td><td><code>ValueChanged&lt;T&gt;</code></td><td><code>null</code></td><td><code>false</code></td><td>This event function will fire immediately the the field value changes</td></tr><tr><td><code>valueTransformer</code></td><td><code>ValueTransformer&lt;T&gt;</code></td><td><code>null</code></td><td><code>false</code></td><td>Function that transforms field value before saving to form value. e.g. transform TextField value for numeric field from <code>String</code> to <code>num</code></td></tr><tr><td>The rest of the attributes will be determined by the type of Widget being used.</td><td></td><td></td><td></td><td></td></tr></tbody></table>
<h3 id="building-your-own-custom-field">Building your own custom field</h3>
<p>To build your own field within a <code>FormBuilder</code>, we use <code>FormBuilderCustomField</code> which will require that you define your own <code>FormField</code>.
The <code>FormField</code> will not require a <code>validator</code> if the <code>validators</code> property is already defined in the <code>FormBuilderCustomField</code>.</p>
<pre class="language-dart"><code class="language-dart">FormBuilderCustomField(
  attribute: "name",
  validators: [
    FormBuilderValidators.required(),
  ],
  formField: FormField(
    enabled: true,
    builder: (FormFieldState&lt;dynamic&gt; field) {
      return InputDecorator(
        decoration: InputDecoration(
          labelText: "Select option",
          errorText: field.errorText,
          contentPadding:
              EdgeInsets.only(top: 10.0, bottom: 0.0),
          border: InputBorder.none,
        ),
        child: DropdownButton(
          isExpanded: true,
          items: ["One", "Two"].map((option) {
            return DropdownMenuItem(
              child: Text("$option"),
              value: option,
            );
          }).toList(),
          value: field.value,
          onChanged: (value) {
            field.didChange(value);
          },
        ),
      );
    },
  ),
),
</code></pre>
<h2 id="validation">Validation</h2>
<p>The <code>validators</code> attribute in fields take in any number of <code>FormFieldValidator</code> allowing composability 
of validation functions as well as allow reusability of already defined validator methods.</p>
<h3 id="built-in-validators">Built-in Validators</h3>
<p>The package comes with several most common <code>FormFieldValidator</code>s such as required, numeric, mail, URL, min, 
max, minLength, maxLength, IP, credit card etc. with default <code>errorText</code> in English but with 
ability to include you own error message that will display whenever validation fails.</p>
<p>Available built-in validators include:</p>
<ul>
<li><code>FormBuilderValidators.required()</code> - requires the field have a non-empty value.</li>
<li><code>FormBuilderValidators.numeric()</code> - requires the field's value to be a valid number.</li>
<li><code>FormBuilderValidators.min()</code> - requires the field's value to be greater than or equal to the provided number.</li>
<li><code>FormBuilderValidators.max()</code> - requires the field's value to be less than or equal to the provided number.</li>
<li><code>FormBuilderValidators.minLength()</code> - requires the length of the field's value to be greater than or equal to the provided minimum length.</li>
<li><code>FormBuilderValidators.maxLength()</code> - requires the length of the field's value to be less than or equal to the provided maximum length.</li>
<li><code>FormBuilderValidators.pattern()</code> - requires the field's value to match the provided regex pattern.</li>
<li><code>FormBuilderValidators.email()</code> - requires the field's value to be a valid email address.</li>
<li><code>FormBuilderValidators.url()</code> - requires the field's value to be a valid url.</li>
<li><code>FormBuilderValidators.IP()</code> - requires the field's value to be a valid IP address.</li>
<li><code>FormBuilderValidators.creditCard()</code> - requires the field's value to be a valid credit card number.</li>
<li><code>FormBuilderValidators.date()</code> - requires the field's value to be a valid date string.</li>
<li><code>FormBuilderValidators.requiredTrue()</code> - requires the field's value be true.</li>
</ul>
<p>Validation example:</p>
<pre class="language-dart"><code class="language-dart">FormBuilderTextField(
  attribute: "age",
  decoration: InputDecoration(labelText: "Age"),
  validators: [
    FormBuilderValidators.numeric(errorText: "La edad debe ser numérica."),
    FormBuilderValidators.max(70),
  ],
),
</code></pre>
<h3 id="custom-validator-function">Custom validator function</h3>
<p>As well as the built-in validators any function of type <code>FormFieldValidator</code> will be accepted into the list of <code>validators</code>.</p>
<pre class="language-dart"><code class="language-dart">FormBuilderTextField(
    attribute: "over_18",
    decoration: InputDecoration(labelText: "Are you over 18?"),
    validators: [
        FormBuilderValidators.required(),
        (val){
            if(val.toLowerCase() != "yes")
                return "The answer must be Yes";
        },
    ],
),
</code></pre>
<h3 id="conditional-validation">Conditional validation</h3>
<p>You can also validate a field based on the value of another field</p>
<pre class="language-dart"><code>FormBuilderRadio(
  decoration: InputDecoration(labelText: 'My best language'),
  attribute: "best_language",
  validators: [FormBuilderValidators.required()],
  options: [
    "Dart",
    "Kotlin",
    "Java",
    "Swift",
    "Objective-C",
    "Other"
  ]
      .map((lang) =&gt; FormBuilderFieldOption(value: lang))
      .toList(growable: false),
),
FormBuilderTextField(
    attribute: "specify",
    decoration: InputDecoration(labelText: "If Other, please specify"),
    validators: [
        (val){
            if(_fbKey.currentState.fields['best_language'].currentState.value == "Other" &amp;&amp; (val == null || val.isEmpty))
                return "Kindly specify your language";
        },
    ],
),
</code></pre>
<h2 id="credits">CREDITS</h2>
<h3 id="contributors">Contributors</h3><a href="https://github.com/danvick/flutter_form_builder/graphs/contributors">
  <img src="https://contributors-img.firebaseapp.com/image?repo=danvick/flutter_form_builder">
</a>
<p>Made with <a href="https://contributors-img.firebaseapp.com">contributors-img</a>.</p>
<h3 id="dependencies">Dependencies</h3>
<p>This package is dependent on the following packages and plugins:</p>
<ul>
<li><a href="https://pub.dev/packages/flutter_typeahead">flutter_typeahead</a> by <a href="https://github.com/AbdulRahmanAlHamali">AbdulRahmanAlHamali</a></li>
<li><a href="https://pub.dev/packages/sy_flutter_widgets">sy_flutter_widgets</a> by <a href="https://github.com/lishuhao">Li Shuhao</a></li>
<li><a href="https://pub.dev/packages/datetime_picker_formfield">datetime_picker_formfield</a> by <a href="https://github.com/jifalops">Jacob Phillips</a></li>
<li><a href="https://github.com/anicdh/date_range_picker">date_range_picker</a> by <a href="https://github.com/anicdh">anicdh</a></li>
<li><a href="https://pub.dev/packages/validators">validators</a> by <a href="https://github.com/dart-league">dart-league</a></li>
<li><a href="https://pub.dev/packages/signature">signature</a> by <a href="https://github.com/4Q-s-r-o">4Q s.r.o.</a> with some minor improvements to fit our usage</li>
<li><a href="https://pub.dev/packages/flutter_colorpicker">flutter_colorpicker</a> by <a href="https://github.com/mchome">mchome</a></li>
<li><a href="https://pub.dev/packages/flutter_chips_input">flutter_chips_input</a> &amp; <a href="https://pub.dev/packages/flutter_touch_spin">flutter_touch_spin</a> by <a href="https://github.com/danvick">Yours trully :-)</a></li>
</ul>
<h3 id="related-packages">RELATED PACKAGES</h3>
<p>Here are other field types for <code>flutter_form_builder</code>:</p>
<ul>
<li><a href="https://pub.dev/packages/form_builder_file_picker">form_builder_file_picker</a> - A file picker field for <code>FlutterFormBuilder</code>.</li>
<li><a href="https://pub.dev/packages/form_builder_map_field">form_builder_map_field</a> - A map input field for <code>FlutterFormBuilder</code>.</li>
</ul>
<h2 id="future-plans">FUTURE PLANS:</h2>
<h3 id="improvements">Improvements</h3>
<ul>
<li><code>X</code> Allow addition of custom input types</li>
<li><code>X</code> Improve documentation by showing complete list of input types and their usage and options</li>
<li><code>X</code> Create a <code>transformer</code> function option that will convert field value when field is saved - can be used to convert string to number, change to uppercase etc.</li>
<li><code>X</code> Assert no duplicates in <code>FormBuilderInput</code>s <code>attribute</code> names</li>
<li><code>X</code> Allow options for Checkboxes and Radios to appear left or right - Done via <code>leadingInput</code> courtesy of <a href="https://github.com/SvenSchoene">Sven Schöne</a></li>
<li><code>X</code> Use flutter_touch_spin for FormBuilderStepper. Possibly rename to FormBuilderTouchSpin in next major version</li>
<li><code> </code> For RangeSlider use Flutter provided</li>
</ul>
<h3 id="known-issues">Known Issues</h3>
<ul>
<li>Setting <code>autovalidate</code> to <code>true</code> validates fields immediately they're rendered even if pristine - which is the default behavior of Flutter </li>
<li>Form's <code>reset()</code> doesn't clear SignaturePad - You'll be forced to clear manually</li>
</ul>
<h2 id="support">SUPPORT</h2>
<p>If this package was helpful to you in delivering on your project or you just wanna to support this project, a cup of coffee would be highly appreciated ;-)</p>
<p><a href="https://buymeacoff.ee/wb5M9y2Sz"><img src="https://www.buymeacoffee.com/assets/img/custom_images/purple_img.png" alt="Buy me a coffee"></a></p>
      </section>
      
        <section class="summary">
            <h2>Libraries</h2>
          <dl>
            <dt id="flutter_form_builder">
              <span class="name"><a href="flutter_form_builder/flutter_form_builder-library.html">flutter_form_builder</a></span>             
            </dt>
            <dd>
              
            </dd>          </dl>
        </section>
        <section class="summary">
            <h2>Dart</h2>
          <dl>
            <dt id="dart:ui">
              <span class="name"><a href="dart-ui/dart-ui-library.html">dart:ui</a></span>             
            </dt>
            <dd>
              Built-in types and core primitives for a Flutter application. <a href="dart-ui/dart-ui-library.html">[...]</a>
            </dd>            <h3>Core</h3>
              <dt id="dart:async">
                <span class="name"><a href="dart-async/dart-async-library.html">dart:async</a></span>               
              </dt>
              <dd>
                Support for asynchronous programming,
with classes such as Future and Stream. <a href="dart-async/dart-async-library.html">[...]</a>
              </dd>              <dt id="dart:collection">
                <span class="name"><a href="dart-collection/dart-collection-library.html">dart:collection</a></span>               
              </dt>
              <dd>
                Classes and utilities that supplement the collection support in dart:core. <a href="dart-collection/dart-collection-library.html">[...]</a>
              </dd>              <dt id="dart:convert">
                <span class="name"><a href="dart-convert/dart-convert-library.html">dart:convert</a></span>               
              </dt>
              <dd>
                Encoders and decoders for converting between different data representations,
including JSON and UTF-8. <a href="dart-convert/dart-convert-library.html">[...]</a>
              </dd>              <dt id="dart:core">
                <span class="name"><a href="dart-core/dart-core-library.html">dart:core</a></span>               
              </dt>
              <dd>
                Built-in types, collections,
and other core functionality for every Dart program. <a href="dart-core/dart-core-library.html">[...]</a>
              </dd>              <dt id="dart:developer">
                <span class="name"><a href="dart-developer/dart-developer-library.html">dart:developer</a></span>               
              </dt>
              <dd>
                Interact with developer tools such as the debugger and inspector. <a href="dart-developer/dart-developer-library.html">[...]</a>
              </dd>              <dt id="dart:math">
                <span class="name"><a href="dart-math/dart-math-library.html">dart:math</a></span>               
              </dt>
              <dd>
                Mathematical constants and functions, plus a random number generator. <a href="dart-math/dart-math-library.html">[...]</a>
              </dd>              <dt id="dart:typed_data">
                <span class="name"><a href="dart-typed_data/dart-typed_data-library.html">dart:typed_data</a></span>               
              </dt>
              <dd>
                Lists that efficiently handle fixed sized data
(for example, unsigned 8 byte integers) and SIMD numeric types. <a href="dart-typed_data/dart-typed_data-library.html">[...]</a>
              </dd>            <h3>VM</h3>
              <dt id="dart:ffi">
                <span class="name"><a href="dart-ffi/dart-ffi-library.html">dart:ffi</a></span>               
              </dt>
              <dd>
                Foreign Function Interface for interoperability with the C programming language. <a href="dart-ffi/dart-ffi-library.html">[...]</a>
              </dd>              <dt id="dart:io">
                <span class="name"><a href="dart-io/dart-io-library.html">dart:io</a></span>               
              </dt>
              <dd>
                File, socket, HTTP, and other I/O support for non-web applications. <a href="dart-io/dart-io-library.html">[...]</a>
              </dd>              <dt id="dart:isolate">
                <span class="name"><a href="dart-isolate/dart-isolate-library.html">dart:isolate</a></span>               
              </dt>
              <dd>
                Concurrent programming using <em>isolates</em>:
independent workers that are similar to threads
but don't share memory,
communicating only via messages. <a href="dart-isolate/dart-isolate-library.html">[...]</a>
              </dd>            <h3>Web</h3>
              <dt id="dart:html">
                <span class="name"><a href="dart-html/dart-html-library.html">dart:html</a></span>               
              </dt>
              <dd>
                HTML elements and other resources for web-based applications that need to
interact with the browser and the DOM (Document Object Model). <a href="dart-html/dart-html-library.html">[...]</a>
              </dd>              <dt id="dart:js">
                <span class="name"><a href="dart-js/dart-js-library.html">dart:js</a></span>               
              </dt>
              <dd>
                Low-level support for interoperating with JavaScript. <a href="dart-js/dart-js-library.html">[...]</a>
              </dd>              <dt id="dart:js_util">
                <span class="name"><a href="dart-js_util/dart-js_util-library.html">dart:js_util</a></span>               
              </dt>
              <dd>
                Utility methods to efficiently manipulate typed JSInterop objects in cases
where the name to call is not known at runtime. You should only use these
methods when the same effect cannot be achieved with @JS annotations.
These methods would be extension methods on JSObject if Dart supported
extension methods.
              </dd>          </dl>
        </section>

  </div> <!-- /.main-content -->

  <div id="dartdoc-sidebar-right" class="col-xs-6 col-sm-6 col-md-2 sidebar sidebar-offcanvas-right">
  </div>

</main>

<footer>
  <span class="no-break">
    flutter_form_builder
      3.8.2
  </span>

  <!-- footer-text placeholder -->
</footer>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/highlight.pack.js"></script>
<script src="static-assets/URI.js"></script>
<script src="static-assets/script.js"></script>
<!-- footer placeholder -->

</body>

</html>
